home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor1 / hack.doc < prev    next >
Text File  |  1995-03-31  |  4KB  |  64 lines

  1. HACK, 6 interesting (and dangerous) system-level routines by various authors. 
  2.         Documentation by Joe Horn. 
  3.  
  4.         Uses Rick Grevelle's HACKIT library. 
  5.  
  6.         Some of these programs can easily cause a Memory Clear if not used 
  7.         carefully.  Follow these instructions closely, and be sure to backup 
  8.         your memory before experimenting with these tools. 
  9.  
  10. úÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ 
  11.  
  12. STRIP: Strips the << and >> off the program in level 1. 
  13.         By Conrad Winchester. 
  14.            Argument: Program object with << and >> delimiters. 
  15.            Caution: STRIP does not check, it just runs, removing the second 
  16.         five and second-to-last five nibs of the object in level 1.  If you 
  17.         give it something other than a program, you may get a Memory Clear. 
  18.  
  19. PACK: Packs a program's SYSEVALs into "External" form. 
  20.         By Joe Horn. 
  21.            Changes all << #nnnnn SYSEVAL >> pairs in a program into the single 
  22.         2.5-byte System RPL object equivalent to that SYSEVAL.  Also works on 
  23.         lists.  See PACK.DOC on EduCALC Goodies Disk #2 for details. 
  24.  
  25. FNXT: Find Next.  Searches ROM/RAM for any hex digits. 
  26.            Input: #search, #start, any. 
  27.            Level 1 is DROPped and SYSRCLed when search terminates, which allows 
  28.         repeated pressing of FNXT.  Notice that the argument on level 3 is the 
  29.         binary number to look for, immediately followed by the number of digits 
  30.         to look for (minus 1!), which allows you to look for leading zeros. 
  31.         (#1237 looks for the 8 digits 00000123.) 
  32.            Example: Code objects begin with #02DCCh.  That's 5 hex digits, so 
  33.         add the digit "4" (one less than 5) to it: #02DCC4h.  (Leading zeros do 
  34.         not need to be typed, of course).  To look for all the Code objects in 
  35.         the operating system (starting at address #0h), type: #2DCC4h #0h #0h 
  36.         FNXT.  Pressing FNXT again finds the next one, etc. 
  37.            Note: If you want speed and have a PC handy, don't use FNXT; use the 
  38.         SEARCH command in Derek Nickel's Voyager program. 
  39.  
  40. PRCL: Recalls contents of an entire port to the stack. 
  41.           Argument: Port number (real) 0, 1 or 2. 
  42.           Example: 1 PRCL yields the contents of port 1 on the stack. 
  43.           Note: The "objects" on the stack are only poiners, not yet NEWOB'd, 
  44.         so you can recall the "contents" of a very large card into a very 
  45.         little amount of MEM.  However, most operations on these will perform a 
  46.         NEWOB (if there is sufficient MEM), such as STO.  You can find the 
  47.         address of port objects, however, by using ADDR after PRCL. 
  48.  
  49. ->RPN: Convert algebraic object into equivalent RPN object (list). 
  50.         By Joe Horn. 
  51.            Example: '1+2*3+4' ->RPN  -->  { 1 2 3 * + 4 + }.  (Try EVAL). 
  52.  
  53. RPN->: Convert RPN object (list) into equivalent algebraic object. 
  54.         By Joe Horn. 
  55.            Example: { 1 2 3 * + 4 + } RPN->  -->  '1+2*3+4'.  (Try EVAL). 
  56.            Caution: Converting non-well-formed "RPN objects" into algebraics 
  57.         will either result in an 'Invalid Expression' or 'UNKNOWN' on the 
  58.         stack, which will evaluate the same as the list before conversion; or 
  59.         in Memory Clear (in extreme cases).  For safety's sake, only use lists 
  60.         containing ->RPN outputs, or similar.  Things like { << 5 >> } are not 
  61.         meaningful and tempt Murphy's Law. 
  62.  
  63. àÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄù 
  64.